#!/bin/bash

[[ $DEBUG ]] && set -x 

# 定义 host
export HOST=$HOSTNAME.$SERVICE_NAME

# 定义 peer_id
export PEER_ID=${HOSTNAME#*-}

# 定义集群节点
# 下面是域名版本
# ${SERVICE_NAME}-0.${SERVICE_NAME} ${SERVICE_NAME}-1.${SERVICE_NAME} ${SERVICE_NAME}-2.${SERVICE_NAME} 在 Rainbond 启动时，对应了一个有状态服务 3 个 Pod 实例的可解析地址
# Rainbond 运行的 Pod 环境中更多可被利用的特征环境变量，详见 https://www.rainbond.com/docs/user-manual/component-dev/service-env/
export PEERS=\"http://${SERVICE_NAME}-0.${SERVICE_NAME}:8080\",\"http://${SERVICE_NAME}-1.${SERVICE_NAME}:8080\",\"http://${SERVICE_NAME}-2.${SERVICE_NAME}:8080\"


# 下面是利用 IP 定义 peers 然而在顺序性启动 Pod 时，会发生首个 Pod 无法获取后续 Pod IP 的情况，故而舍去
#export PEERS=$(nslookup ${SERVICE_NAME}.${TENANT_ID}.svc.cluster.local | grep Address | sed '1d' | awk '{print "\"http://"$2":8080\""}' | tr "\n" ","  | sed s'/,$//')

# 处理配置文件
[[ ! -d $GO_FASTDFS_DIR/conf ]] && mkdir $GO_FASTDFS_DIR/conf
cp /usr/local/go-fastdfs/conf/cfg.json $GO_FASTDFS_DIR/conf/

# 下面是个小工具，可以针对目标文件中的所有环境变量进行替换
env2file conversion --file=$GO_FASTDFS_DIR/conf/cfg.json


exec $@